#include "public.h"



//------------------读器件ID-------------------------
// u8 STM8S_ID[5];//器件ID只读5个字节 用的时候用1字节3字节作为设备id 
//
//void Drv_Get_Device_ID(void)//Get STM8S Unique ID
//
//{ 
//    u8 i=0;
//    for(i=0; i<5; i++) 
//    STM8S_ID[i] = *(u8*)(0X4865+i); 
//   
//} 


/*定义STM32 MCU的类型*/
//typedef enum {
//  STM32F0,
//  STM32F1,
//  STM32F2,
//  STM32F3,
//  STM32F4,
//  STM32F7,
//  STM32L0,
//  STM32L1,
//  STM32L4,
//  STM32H7,
//}MCUTypedef;
 
//uint32_tidAddr[]={0x1FFFF7AC,  /*STM32F0唯一ID起始地址*/
//                0x1FFFF7E8,  /*STM32F1唯一ID起始地址*/
//                0x1FFF7A10,  /*STM32F2唯一ID起始地址*/
//                0x1FFFF7AC,  /*STM32F3唯一ID起始地址*/
//                0x1FFF7A10,  /*STM32F4唯一ID起始地址*/
//                0x1FF0F420,  /*STM32F7唯一ID起始地址*/
//                0x1FF80050,  /*STM32L0唯一ID起始地址*/
//                0x1FF80050,  /*STM32L1唯一ID起始地址*/
//                0x1FFF7590,  /*STM32L4唯一ID起始地址*/
//                0x1FF0F420}; /*STM32H7唯一ID起始地址*/


 
/*获取STM32 MCU的唯一ID*/
 u16 STM32F_ID[10];//器件ID只读5个字节 用的时候用1字节3字节作为设备id 



void GetSTM32MCUID (void)
{
//  u8 i;
  
    STM32F_ID[0]=stm32_FLASH_ReadByte( 0x1FFFF7AC);
    STM32F_ID[1]=stm32_FLASH_ReadByte( 0x1FFFF7AC+2);
    STM32F_ID[2]=stm32_FLASH_ReadByte( 0x1FFFF7AC+4); 
    STM32F_ID[3]=stm32_FLASH_ReadByte( 0x1FFFF7AC+6);
//    STM32F_ID[4]=stm32_FLASH_ReadByte( 0x1FFFF7AC+8);
//
//    for(i=0;i<5;i++)
//    {
//      gc.PRODUCT_SN_string[i*2]=STM32F_ID[i];
//      gc.PRODUCT_SN_string[i*2+1]=STM32F_ID[i]>>8;
//    }  

  u32STM32F_ID=STM32F_ID[0]+STM32F_ID[1]*256*256;

}

  
 